package tp.tecnicasdisenio.dao;

import java.util.List;

import tp.tecnicasdisenio.model.entity.Cuatrimestre;
import tp.tecnicasdisenio.model.entity.Materia;
import tp.tecnicasdisenio.model.entity.TrabajoPractico;
import tp.tecnicasdisenio.model.entity.TrabajoPractico.ClaveTrabajoPractivo;

public interface TrabajoPracticoDaoInterface extends DaoInterface<TrabajoPractico, ClaveTrabajoPractivo>{

	/**
	 * Retorna el ultimo tp dado de alta para una materia y cuatrimestre dado
	 * @return el trabajo practico que reuna las condiciones, null en caso contrario
	 */
	public TrabajoPractico obtenerUltimoTp(Materia materia, Cuatrimestre cuatrimestre); 
	
	/**
	 *  Retorna todos los tps de una materia, ordenados por año y cuatrimestre descendentemente
	 * @return lista con tps o lista vacia si la materia no tiene tps asociados o no existe en la base de datos 
	 */
	public List<TrabajoPractico> getTps(Materia materia);
}
